<?php namespace Admin\Controller; 
use Common\Model\Category;
/*
*分类表控制器
*田昭鹏
*
*/
class CategoryController extends CommonController{
    protected $data;
	//构造函数
	public function __init()
	{
        // 实例化模型
        $this->data=new Category;
        // 继承父级构造函数
        parent::__init();
	}
    // 分类列表
    public function index(){
        // 判断提交
        if(IS_POST){
            // 提交修改
            foreach ($_POST as $k => $v) {
                $this->data->where('cid',$k)->update(array('sort'=>$v));
            }
        }
        // 获得数据
        $cateData=$this->data->orderBy('sort','ASC')->get();
        $cateData=Data::tree($cateData,'cname');
        // 分配数据
        View::with('cateData',$cateData);

        View::make();
    }
	// 添加方法
    public function add(){
        // 判断post
        if(IS_POST){
            // 跳转模型
            $result=$this->data->store();
            // 因为是ajax发送的请求，这里返回数据需要是ajax要求的数据类型
            if(!$result){
            // 返回状态status是否成功
                echo json_encode(array('status'=>FALSE,'message'=>$this->data->getError()));
                die;
            }else{
                echo json_encode(array('status'=>TRUE,'message'=>'添加成功'));
                die;
            }
        }
        // 获得所有类型
        $typeData=Db::table('type')->get();
        View::with('typeData',$typeData);

        View::make();
    }

    // 添加子分类
    public function addson(){
        // 判断提交
        if(IS_POST){
            // 跳转模型
            $result=$this->data->store();
            // 因为是ajax发送的请求，这里返回数据需要是ajax要求的数据类型
            if(!$result){
            // 返回状态status是否成功
                echo json_encode(array('status'=>FALSE,'message'=>$this->data->getError()));
                die;
            }else{
                echo json_encode(array('status'=>TRUE,'message'=>'添加成功'));
                die;
            }
        }

        // 分配分类
        $cid=Q('get.cid',0,'intval');
        $cateData=$this->data->where('cid',$cid)->find();
        View::with('cateData',$cateData);


        // 分配类型
        $typeData=Db::table('type')->get();
        View::with('typeData',$typeData);

        View::make();
    }


    // 编辑方法
    public function edit(){
        // 判断post
        if(IS_POST){
            // 跳转模型
            $result=$this->data->edit();
            // 因为是ajax发送的请求，这里返回数据需要是ajax要求的数据类型
            if(!$result){
            // 返回状态status是否成功
                echo json_encode(array('status'=>FALSE,'message'=>$this->data->getError()));
                die;
            }else{
                echo json_encode(array('status'=>TRUE,'message'=>'编辑成功'));
                die;
            }
        }
        // 获得序号
        $cid=Q('get.cid',0,'intval');
        // 获得数据
        $cateData=$this->data->where('cid',$cid)->find();
        // 分配数据
        View::with('cateData',$cateData);

        // 获得类型
        $typeData=Db::table('type')->get();
        View::with('typeData',$typeData);

        if($cateData['pid']!=0){
            // 获得所有分类
            $allData=$this->data->get();
            // 获得不包括自己和自己的分类
            $getData=$this->data->getCategory($allData,$cid,$cateData['type_tid']);
            View::with('getData',$getData);
        }
        
        View::make();
    }

    // 删除方法
    public function del(){
        // 获得序号
        $cid=Q('get.cid',0,'intval');
        // 跳转模型进行判断
        $result=$this->data->del($cid);
        // 判断返回值
        if(!$result){
            View::error($this->data->getError());
        }else{
            View::success('删除成功');
        }
        
    }
}
